package com.sfac.javaSpringBoot.modules.common.dao;

import com.sfac.javaSpringBoot.modules.common.entity.ExceptionLog;
import org.apache.ibatis.annotations.*;
import org.springframework.stereotype.Repository;

import java.util.List;


@Mapper
@Repository
public interface ExceptionLogDao {

    @Select("select * from common_exception_log where " +
            "path = #{path} and method_name = #{methodName} and " +
            "exception_type = #{exceptionType}")
    List<ExceptionLog> getExceptionLogsByParam(
            @Param("path") String path,
            @Param("methodName") String methodName,
            @Param("exceptionType") String exceptionType);

    @Insert("insert into common_exception_log (ip, path, class_name, method_name, " +
            "exception_type, exception_message, create_date) " +
            "values (#{ip}, #{path}, #{className}, #{methodName}, " +
            "#{exceptionType}, #{exceptionMessage}, #{createDate})")
    @Options(useGeneratedKeys = true, keyProperty = "id", keyColumn = "id")
    void insertExceptionLog(ExceptionLog exceptionLog);
}
